#ifndef COMMON_H_H
#define COMMON_H_H

typedef unsigned char bit ;
typedef unsigned char nibble ;
typedef unsigned char byte ;
typedef unsigned int word ;

const int MIBS_BLOCK = 32 ;
const int MIBS_NUM = 2 ;
const int MIBS_KEY = 64 ;
const int NIBBLE_NUM = 16 ;
const int NIBBLE_SIZE = 4 ;
const int MIBS_ROUND = 32 ;
const int LIST_MAX = 0x1000 ;
const nibble S_BOX[NIBBLE_NUM] = { 4 , 15 , 3 , 8 , 
                                   13 , 10 , 12 , 0 , 
                                   11 , 5 , 7 , 14 , 
                                   2 , 6 , 1 , 9 } ;

const nibble P_LAYER[NIBBLE_NUM] = { 1 , 7 , 0 , 2 , 
                                     5 , 6 , 3 , 4 } ;

#endif